package org.darkforest.dao.mapper;

import org.darkforest.dao.annotation.DBMapper;
import org.darkforest.model.Spec;

import java.util.List;
@DBMapper
public interface SpecMapper {
    int deleteByPrimaryKey(Integer spId);

    int insert(Spec record);

    int insertSelective(Spec record);

    Spec selectByPrimaryKey(Integer spId);

    int updateByPrimaryKeySelective(Spec record);

    int updateByPrimaryKey(Spec record);

    /**
     * 查询规格
     * @param record
     * @return
     */
    List<Spec> findSpec(Spec record);

    /**
     * 查询规格
     * @param record
     * @return
     */
    List<Spec> findSpecWithSpecValue(Spec record);

    /**
     * 查询规格设置及其子子规格
     * @param spec
     * @return
     */
    List<Spec> findSpecWithSonByCondition(Spec spec);


    /**
     * 根据SPID获取规格信息以及其子规格
     * @param spId
     * @return
     */
    Spec getSpecWithChildrenById(Integer spId);

    /**
     * 根据父类ID删除
     * @param spParentId
     * @return
     */
    int deleteByParentId(Integer spParentId);
}